﻿namespace RainEngine.SceneManagement
{
    /// <summary>
    /// 定义SceneNode的UpdateOrder。节点基于它们的UpdateOrder被分组，影响到更新和绘制顺序。
    /// </summary>
    public enum SceneNodeOrdering 
    {
        /// <summary>
        /// 相机应该首先更新
        /// </summary>
        Camera = 0,

        /// <summary>
        /// 天空盒、天空球等环境贴图应该在其他节点前绘制/更新
        /// </summary>
        EnvironmentMap = 1,

        /// <summary>
        /// 地形和关卡地图应该在节点前绘制/更新
        /// </summary>
        Terrain = 2,

        /// <summary>
        /// “普通”SceneNode的默认顺序
        /// </summary>
        SceneNode  = 3,       

        /// <summary>
        /// 透明节点。这个节点实际上并不透明，只是上面覆盖一个有透明部分的纹理，它应该在其他节点之后被绘制。
        /// </summary>
        TransparentNode  = 4,

        /// <summary>
        /// UI节点，在所有非UI节点之上绘制。
        /// </summary>
        UINode = 5,
    }    
}
